package com.ksvip.next.components.groovy.loader;

import java.util.List;

import org.springframework.lang.NonNull;

import com.ksvip.next.components.groovy.entity.EnhanceGroovyScript;


/**
 * EnhanceGroovyEngine资源库
 */
public interface EnhanceGroovyScriptRepository {

    /**
     * 查询全部脚本数据
     */
    List<EnhanceGroovyScript> selectAll();

    /**
     * 按条件查询 EnhanceGroovyScript
     * @param query 查询条件
     */
    List<EnhanceGroovyScript> selectByCondition(@NonNull EnhanceGroovyScript query);

    /**
     * 按条件更新 EnhanceGroovyScript
     *
     * @param enhanceGroovyScript 待更新的数据
     * @return java.lang.Integer 更新条数
     */
    Integer updateByCondition(@NonNull EnhanceGroovyScript enhanceGroovyScript);

    /**
     * 插入
     *
     * @param enhanceGroovyScript 待插入的数据
     * @return java.lang.Integer 影响行数
     */
    Integer insert(@NonNull EnhanceGroovyScript enhanceGroovyScript);

    /**
     * 根据ID删除数据
     *
     * @param id id
     * @return java.lang.Integer
     */
    Integer deleteById(@NonNull Long id);
}
